<!DOCTYPE html>
<html>

<head>
	<meta charset="utf-8">
	<title></title>
</head>
<style type="text/css">

</style>

<body>

	<script type="text/javascript">
		//数据结构Map使用方法-Map 是 ES6 中新增的数据结构，Map 类似于对象，但普通对象的 key 必须是字符串或者数字，而 Map 的 key 可以是任何数据类型  
		const map = new Map()

		const obj = { a: 1};

		map.set(obj, 'OK') //给对象填加值
		console.log( map.get(obj));// "OK" 获取对象的值
        console.log(map); //{{a: 1}=>OK}
		map.has(obj) // true
		map.delete(obj) // true
		map.has(obj) // false

        // 应用-给数组中对象去重
		//去除数组中对象id重复的
		let arrObj = [
			{ name: "小红", id: 1 },
			{ name: "小橙", id: 1 },
			{ name: "小黄", id: 4 },
			{ name: "小绿", id: 3 },
			{ name: "小青", id: 1 },
			{ name: "小蓝", id: 4 }
		];
		let map1 = new Map();
	    arrObj.forEach(item=>{
			if(!map1.has(item.id)){
				map1.set(item.id,item)
			}
		})
       console.log(map1); //对象 {1 => {…}, 4 => {…}, 3 => {…}}
	//    console.log(map1.keys(),map1.values());  //利用es6中获取对象的键，值方法，可以提取出对象
	   let arr = [...map1.values()]; //获取对象里值转成数组
	   console.log(arr);

	   //2.数据结构Set用法-Set里要的是数组，常用于数组去重
	//    let arr1 = [1,2,1,2];
	
	//    let set=new Set(arr1)
	//    console.log('对象',set);
    //    console.log([...set]); //[1,2]


	</script>

</body>

</html>